<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (2.4.5) on Mon Sep 12 08:35:26 CEST 2016 -->
    <title>WorkerExecutor (Groovy Documentation)</title>
    <meta name="date" content="2016-09-12">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="WorkerExecutor (Groovy Documentation)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../index-all.html">Index</a></li>
        <li><a href="../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../index.html?io/vertx/groovy/core/WorkerExecutor" target="_top">Frames</a></li>
            <li><a href="WorkerExecutor.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>io.vertx.groovy.core</strong></div>

    <h2 title="[Groovy] Class WorkerExecutor" class="title">[Groovy] Class WorkerExecutor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li>io.vertx.groovy.core.WorkerExecutor
</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">

            <dl>
                <dt>All Implemented Interfaces and Traits:</dt>
                <dd><a href='../../../../io/vertx/groovy/core/metrics/Measured.html'>Measured</a></dd>
            </dl>
            <!-- todo: direct known subclasses -->
            <hr>
            <br>
<pre>@groovy.transform.CompileStatic
class WorkerExecutor
extends java.lang.Object

</pre>



    <p> An executor for executing blocking code in Vert.x .<p>

 It provides the same <code>executeBlocking</code> operation than <a href='../../../../io/vertx/groovy/core/Context.html' title='Context'>Context</a> and
 <a href='../../../../io/vertx/groovy/core/Vertx.html' title='Vertx'>Vertx</a> but on a separate worker pool.<p>
</p>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        
        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
        <ul class="blockList">
                <li class="blockList"><a name="constructor_summary"><!--   --></a>
                    <h3>Constructor Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Constructor and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst">
                                <code><a href="#WorkerExecutor(java.lang.Object)">WorkerExecutor</a></strong>
                                (java.lang.Object delegate)</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
        </ul>
        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#close()">close</a></strong>()</code><br>Close the executor.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#executeBlocking(Handler<Future<T>>, boolean, Handler<AsyncResult<T>>)">executeBlocking</a></strong>(io.vertx.core.Handler&lt;<a href='../../../../io/vertx/groovy/core/Future.html' title='Future'>Future</a>&lt;T&gt;&gt; blockingCodeHandler, boolean ordered, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;T&gt;&gt; resultHandler)</code><br>Safely execute some blocking code.</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#executeBlocking(Handler<Future<T>>, Handler<AsyncResult<T>>)">executeBlocking</a></strong>(io.vertx.core.Handler&lt;<a href='../../../../io/vertx/groovy/core/Future.html' title='Future'>Future</a>&lt;T&gt;&gt; blockingCodeHandler, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;T&gt;&gt; resultHandler)</code><br>Like <a href='../../../../io/vertx/groovy/core/WorkerExecutor.html#executeBlocking' title='WorkerExecutor.executeBlocking'>WorkerExecutor.executeBlocking</a> called with ordered = true.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getDelegate()">getDelegate</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#isMetricsEnabled()">isMetricsEnabled</a></strong>()</code><br>Whether the metrics are enabled for this measured object</td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Inherited Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Methods inherited from class</th>
                            <th class="colLast" scope="col">Name</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>class java.lang.Object</strong></code></td>
                            <td class="colLast"><code>java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()</code></td>
                        </tr>
                    </table>
                   </ul>
              </li>
                
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            

            

            

            
            <!-- =========== CONSTRUCTOR DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="constructor_detail">
                    <!--   -->
                </a>
                    <h3>Constructor Detail</h3>
                    
                        <a name="WorkerExecutor(java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><strong>WorkerExecutor</strong>(java.lang.Object delegate)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="close()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>close</strong>()</h4>
                                <p> Close the executor.
   </p>
                            </li>
                        </ul>
                    
                        <a name="executeBlocking(Handler<Future<T>>, boolean, Handler<AsyncResult<T>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>executeBlocking</strong>(io.vertx.core.Handler&lt;<a href='../../../../io/vertx/groovy/core/Future.html' title='Future'>Future</a>&lt;T&gt;&gt; blockingCodeHandler, boolean ordered, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;T&gt;&gt; resultHandler)</h4>
                                <p> Safely execute some blocking code.
 <p>
 Executes the blocking code in the handler <code>blockingCodeHandler</code> using a thread from the worker pool.
 <p>
 When the code is complete the handler <code>resultHandler</code> will be called with the result on the original context
 (e.g. on the original event loop of the caller).
 <p>
 A <code>Future</code> instance is passed into <code>blockingCodeHandler</code>. When the blocking code successfully completes,
 the handler should call the <a href='../../../../io/vertx/groovy/core/Future.html#complete' title='Future.complete'>Future.complete</a> or <a href='../../../../io/vertx/groovy/core/Future.html#complete' title='Future.complete'>Future.complete</a> method, or the <a href='../../../../io/vertx/groovy/core/Future.html#fail' title='Future.fail'>Future.fail</a>
 method if it failed.
 <p>
 In the <code>blockingCodeHandler</code> the current context remains the original context and therefore any task
 scheduled in the <code>blockingCodeHandler</code> will be executed on the this context and not on the worker thread.
   <DL><DT><B>Parameters:</B></DT><DD><code>blockingCodeHandler</code> -  handler representing the blocking code to run</DD><DD><code>ordered</code> -  if true then if executeBlocking is called several times on the same context, the executions for that context will be executed serially, not in parallel. if false then they will be no ordering guarantees</DD><DD><code>resultHandler</code> -  handler that will be called when the blocking code is complete</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="executeBlocking(Handler<Future<T>>, Handler<AsyncResult<T>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>executeBlocking</strong>(io.vertx.core.Handler&lt;<a href='../../../../io/vertx/groovy/core/Future.html' title='Future'>Future</a>&lt;T&gt;&gt; blockingCodeHandler, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;T&gt;&gt; resultHandler)</h4>
                                <p> Like <a href='../../../../io/vertx/groovy/core/WorkerExecutor.html#executeBlocking' title='WorkerExecutor.executeBlocking'>WorkerExecutor.executeBlocking</a> called with ordered = true. 
   <DL><DT><B>Parameters:</B></DT><DD>blockingCodeHandler</DD><DD>resultHandler</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getDelegate()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>getDelegate</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="isMetricsEnabled()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>boolean <strong>isMetricsEnabled</strong>()</h4>
                                <p> Whether the metrics are enabled for this measured object
   <DL><DT><B>Returns:</B></DT><DD>true if the metrics are enabled</DD></DL></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../index-all.html">Index</a></li>
        <li><a href="../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../index.html?io/vertx/groovy/core/WorkerExecutor" target="_top">Frames</a></li>
            <li><a href="WorkerExecutor.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>